<?php
/**
 * Interface para o Model
 * @abstract
 */
abstract class Ehrp_Model
{
    /**
     * Fabrica de classes do model
     *
     * @param String $name
     * @return class
     */
    public static function factory($name)
    {
	$class = 'Model_' . $name;
	
	return new $class;
    }
    
    /**
     * Isere um registro no banco-de-dados
     * @param Array $data
     * @abstract
     */    
    public abstract function insert(array $data);
    
    /**
     * Deleta um registro do banco-de-dados
     * @param String $id
     * @abstract
     */
    public abstract function delete($id);
    
    /**
     * Atualiza campos de um registro no banco-de-dados
     * @param Array $data
     * @abstract
     */
    public abstract function update(array $data);
}

?>
